package com.widetrust.carpro.dao.tkmanage;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import com.widetrust.carpro.domain.insuremanage.PayBean;
import com.widetrust.carpro.domain.tkmanage.ComBean;
import com.widetrust.carpro.domain.tkmanage.IdispBean;
import com.widetrust.carpro.domain.tkmanage.PrintLogBean;
import com.widetrust.carpro.domain.tkmanage.TKBean;
import com.widetrust.carpro.domain.tkmanage.TKChangeBean;
import com.widetrust.carpro.domain.tkmanage.TKQueryBean;
import com.widetrust.carpro.domain.tkmanage.TKTypeBean;
import com.widetrust.carpro.domain.userright.Users;
import com.widetrust.config.ConfigException;
import com.widetrust.orm.pageination.PageinationBean;
import com.widetrust.transdata.BsFormTable;

public interface ITKManageDao {

	public BsFormTable disCom(PageinationBean pageBean) throws ConfigException, SQLException;
	public BsFormTable disTKType(PageinationBean pageBean) throws ConfigException, SQLException;
	public List<ComBean> readCom();
	public List<TKTypeBean> readTKType();
	public boolean saveTK(TKBean tkBean);
	public BsFormTable findAllTK(PageinationBean pageBean) throws ConfigException, SQLException;
	public List<TKBean> findAllOUT();
	public BsFormTable searchTKtoDISP(PageinationBean pageBean,String TKCOMIDS, String TKTYPEIDS) throws ConfigException, SQLException;
	public BsFormTable dispTKCheck(PageinationBean pageBean,String DPUSER,String TKCOMIDS, String TKTYPEIDS) throws ConfigException, SQLException;
	public BsFormTable TKCheck(PageinationBean pageBean,String DPUSER) throws ConfigException, SQLException;
	public BsFormTable searchPrnLog(PageinationBean pageBean,PrintLogBean pl) throws ConfigException, SQLException;
	public BsFormTable search4EmptyTK(PageinationBean pageBean,PrintLogBean pl) throws ConfigException, SQLException;
	public List<IdispBean> TKoutput();
	public List<IdispBean> TKCheckout();
	public List<TKBean> readtoOutput(String TKIDS);
	public boolean deleteTK(String TKIDS);
	
	public boolean backToUpdate(String TKIDS);
	public boolean insertDISP(TKBean tkBean);
	public boolean insertDISP2(TKBean tkBean);
	public boolean insertRoll(TKBean tkBean);
	public boolean insertRoll2(TKBean tkBean);
	public boolean updateDISP(TKBean tkBean,String CANUSEFROM,String CANUSETO,String UPTKCANUSE,String TKIDS);
	public boolean updateRoll(TKBean tkBean,String CANUSEFROM,String CANUSETO,String UPTKCANUSE,String TKIDS);
	public boolean upDISmake(TKBean tkBean,String TKIDS);	

	public List<TKQueryBean> TKQuery(TKQueryBean b) ;
	public BsFormTable getPrtOrdList(TKQueryBean tkQueryBean, PageinationBean pageBean ) throws ConfigException, SQLException;

	public List<TKChangeBean> TKChange(String tkno) ;
	public boolean updateOrdState(String OrdNo,String tkids);
	public boolean updatePrintLogState(String prtids) ;
	public boolean insertPrintLog(String[] prtids);
	public boolean deleteOrdNo(String OrdNo,String tkids);
	public boolean deletePrintLog(String prtids);
	public String[] selTKIDSandPNTORDIDS(String prtids) ;
	public boolean selectOrdNo(String OrdNo,String comids,String typeno);
	public boolean selectOrdNo_1(String DPFROM,String DPTO,String comids,String TKTYPEIDS);
	public boolean selectOrdNo2(String OrdNo,String comids,String typeno);
	public boolean selectOrdNo3(String id,String comids,String typeno,String ordType);
	public boolean selectOrdNo3_1(String id,String comids,String typeno,String ordType,String posNo);
	public boolean selectOrdNo4(String id,String comids,String typeno);
	public boolean selectOrdNo4_1(String id,String ordids);
	public String selectOrdNo4_2(String INSURANCEORDER,String comids,String typeno);
	public boolean selectOrdNo5(String inputFrom,String inputTo,String comids,String typeno);
	public String selTKIDS(String OrdNo,String comids,String typeno);
	public String selINSURIDS(String INSURANCEORDERID,String comids,String typeno);
	public boolean insertIprintlog(String PNTORDIDS,String PNTTYPE,String PNTCOMIDS,String POLICYNO,String PNTINSURANCEORDERID,String TKIDS,String PNTOPERATOR,String INPUTTIME,String USRAGEIDS,String ordType,String PNTPDORD);//
	public String[] selectOrdNoInfo(String OrdNo,String comids,String typeno);
	public boolean minusCanuse(String tkids);
	public boolean insertPAY(PayBean b) ;
	public boolean changeOrdState(String insurids,String ORDERSTATE);
	public boolean addCanuse(String tkids);
	public BsFormTable listopera(PageinationBean pageBean,String TKCOMIDS,String TKTYPEIDS)throws ConfigException, SQLException;
	public ArrayList selectFTtkids(String TKTYPEIDS,String TKCOMIDS,String inputFrom,String inputTo);
	public HashMap<String, TKTypeBean> gettktypeMap();
	public boolean unlockOper(String singleIds,String[] valueids,Users userBean) throws SQLException;
}
